import Base from './base.js';
import crypto from 'crypto';
import axios from 'axios';

function signFn(arr:Array<string>){
      const sha1  = crypto.createHash('sha1');//sha1
      var str=arr.sort().join('');
      sha1.update(encodeURI(str));//添加需要的加密数据
      return sha1.digest('hex');//加密,(hex表示16进制)
  }

export default class extends Base {
      async indexAction() {
            var obj=['1839a5f3b7feba22a6e2a6ef1467d348',this.get('timestamp'),this.get('nonce')];
            // token:'server',
            // timestamp:ctx.query.timestamp,
            // nonce:ctx.query.nonce
            var sign=signFn(obj);
            console.log(this.get('signature'));
            
            if(sign === this.get('signature')){
                  return this.body = this.get('echostr');
            }
            return this.body = 'error';
      }
      async getInfoAction() {
            /* 公众号 */
            // const appid = 'wxa111a93e224dc77f';
            // const secret = '5d70dfdff3141505435ac13f61a11cca';

            // const timestamp = parseInt(String(new Date().getTime()));
            // const nonceStr = 'Wm3WZYTPz0wzccnW';
            // const sha2  = crypto.createHash('sha1');//sha1
            
            // const {data:{access_token}} = await axios.request({
            //       url:"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appid+"&secret="+secret;
            // })

            // const {data:{ticket}} = await axios.request({
            //       url:"https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token="+access_token+"&type=jsapi"
            // })
            
            // const reUrl = this.post('url');
            
            // if(reUrl)
            // {
            //       const content = `jsapi_ticket=${ticket}&noncestr=${nonceStr}&timestamp=${timestamp}&url=${reUrl}`;
            //       console.log(reUrl);
                  
            //       const signature = sha2.update(content).digest('hex')
            //       return this.json({
            //             appid,
            //             timestamp,
            //             signature,
            //             nonceStr
            //       })
            // }

            
            /* 小程序 */
            // const appid = 'wxf0b9c8333f4ddfbb';
            // const secret = 'efc1dc1617e6d88107d94f96d314f938';
            // const {data:{access_token}} = await axios.request({
            //       url:`https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}`
            // })
            
            
            // const {data:{openlink}} = await axios.post("https://api.weixin.qq.com/wxa/generatescheme?access_token="+access_token,{
            //       "jump_wxa" : {
            //             "path" : "/pages/index/index",
            //             "query" : "dex=2"
            //       }
            // })

            // console.log(openlink);
            
            
      }
      async wxViewAction(){
            return this.display();
      }
      // 'wxa111a93e224dc77f'
      // '1eb1e8f1770fc87e90b485bdde84e7ee'
      // xOX9yKbEDrXaDHgG1b0jancZBGXsLUdzcvT5cJmT6EY

      // async indexAction() {
      //       // this.ctx.client.set('user',JSON.stringify({
      //       //       name:1231
      //       // }));
      //       // const userDaa = await this.client.get('user');
            
      //       // return this.json({
      //       //       user: {
      //       //             name:1123
      //       //       }
      //       // })
            
            
      //       // const toSocket = underscore.findWhere(this.socketClients,{id:this.get('id')});
            
            
      //       // toSocket && toSocket['emit']('joined','asdasd')
            
      //       // console.log(think.app.websocket.io);
      //       // console.log(await this.ctx.redis);
      //       // console.log(this.client);


            
      //       // console.log(this.websocket);
            
      //       // this.websocket.emit('joined', 'you join over')
      //       // console.log(process.pid);
      //       // await backData();
      //       // think.messenger.broadcast('test', {
      //       //       name:1231
      //       // });
            
      //       // cq.exec('node -v', function (e, stdout, stderr) {
      //       //       if (!e) {
      //       //             console.log(stdout);
      //       //             console.log(stderr);
      //       //       }
      //       //       console.log('子进程');
      //       //       console.log(process.pid);
      //       //       process.exit();
      //       //       console.log(111);
      //       // });

      //       // return this.json({
      //       //       name:'asdas'
      //       // })
            
      //       // return await this.display();
      // }
}



